package com.jinglin.entity.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * <p>
 * 视频文件信息
 * </p>
 *
 * @author ${author}
 * @since 2025-03-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="VideoInfoFile对象", description="视频文件信息")
public class VideoInfoFile extends Model<VideoInfoFile> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "唯一ID")
      @TableId(value = "file_id", type = IdType.ASSIGN_ID)
    private String fileId;

    @ApiModelProperty(value = "用户ID")
    private String userId;

    @ApiModelProperty(value = "视频ID")
    private String videoId;

    @ApiModelProperty(value = "文件名")
    private String fileName;

    @ApiModelProperty(value = "文件索引")
    private Integer fileIndex;

    @ApiModelProperty(value = "文件大小")
    private Long fileSize;

    @ApiModelProperty(value = "文件路径")
    private String filePath;

    @ApiModelProperty(value = "持续时间（秒）")
    private Integer duration;

    @ApiModelProperty(value = "删除为0 未删除为1")
    @TableLogic
    private Integer deleted;


    @Override
    protected Serializable pkVal() {
        return this.fileId;
    }

}
